/*********************************************************/
/*                                                       */
/* Warleague                                             */
/*                                                       */
/* playstate.h                                           */
/*                                                       */
/*********************************************************/
#ifndef __PLAYSTATE_H__
#define __PLAYSTATE_H__

/*********************************************************/
/* includes                                              */
/*********************************************************/
#include <SFML/Graphics.hpp>
#include <list>
#include "gamestate.h"
#include "menustate.h"
#include "tank.h"

/*********************************************************/
/* class CIntroState                                     */
/*********************************************************/

class CPlayState : public CGameState
{
public:

    void Init();
    void Cleanup();

    void Pause();
    void Resume();

    void HandleEvents(CGameEngine* game);
    void Update(CGameEngine* game);
    void Draw(CGameEngine* game);

    void FadeOut(CGameEngine* game);

    static CPlayState* Instance()
    {
        return &m_PlayState;
    }

protected:
    CPlayState() { }

private:
    static CPlayState m_PlayState;

    sf::Texture m_TextureLT;
    sf::Texture m_TextureChoosen;

    sf::Texture m_TextureLicht;
    sf::Sprite m_SpriteLicht;

    sf::Texture m_TextureLichtGreen;
    sf::Sprite m_SpriteLichtGreen;

    std::list<CTank*> listCTank;
    std::list<CTank*>::iterator iCTank;

    sf::Font m_font;
    sf::Text m_TextFps;
    sf::Clock m_ClockFps;
    float count;

    bool m_shift_pressed;

}; /* end class CPlayState */


#endif
